package com.unhz.taigu.service;

import com.unhz.generator.pojo.Order;
import com.unhz.generator.utils.JsonResult;
import com.unhz.generator.utils.Page;
import com.unhz.generator.vo.OrderVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * @Author: 王林恩
 * @Description: 订单管理
 * @Date: Created in 上午 9:10 2018/1/29 0029
 * @Modified By:
 */
@Repository
public interface OrderService {

    /**
     * 查询详情
     * @param orderId
     * @return
     */
    OrderVo findOrderById(Integer orderId);

    /**
     * 分页查询
     * @param pageNo 页数
     * @param keywords 关键词
     * @return
     */
    Page<Order> selectPageOrder(String pageNo, Integer pageSize, String keywords,Integer adminId,Integer roleId);

    /**
     * 删除订单
     * @param id
     * @return
     */
    int deleteOrderById(Integer id);

    /**
     * 根据订单id等到订单信息
     * @param orderId
     * @return
     */
    Order selectOrderById(Integer orderId);

    /**
     * 添加订单
     * @param order
     * @return
     */
    JsonResult addOrder(Order order);

    /**
     * 修改订单
     * @param order
     * @return
     */
    int updateOrder(Order order);

    /**
     * 启用或者禁用操作
     * @param OrderId
     * @param isenable
     * @param adminName
     * @return
     */
    String updateIsenable(Integer OrderId, Integer isenable, String adminName);

    /**
     * 审核通过或者不通过操作
     * @param OrderId
     * @param examine
     * @return
     */
    String updateExamine(Integer OrderId, Integer examine, String adminName);

    /**
     * 完成对接,状态修改为对接完成
     */
    String finishDock(Integer orderId);

    /**
     * 一键审核通过
     * @return
     */
    void keyPass(Order order);

    /**
     * 合同确认
     * @param orderId
     * @return
     */
    int confirmContract(Integer orderId);

    /**
     * 根据用户id查询用户订单
     * @param userId
     * @return
     */
    List<Order> selectOrder(Integer userId);


}
